package com.payment.ktb.activity.main1;

import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

import com.android.volley.VolleyError;
import com.payment.ktb.Interface.HttpCallbackListener;
import com.payment.ktb.R;
import com.payment.ktb.activity.BaseActivity;
import com.payment.ktb.constants.Constants;
import com.payment.ktb.constants.ConstantsUser;
import com.payment.ktb.constants.HttpActions;
import com.payment.ktb.constants.HttpUrls;
import com.payment.ktb.utils.AlertDialogUtils;
import com.payment.ktb.utils.HttpUtils;
import com.payment.ktb.utils.Md5Utils;
import com.payment.ktb.utils.SharedPreferencesUtils;
import com.payment.ktb.utils.StringUtils;
import com.payment.ktb.utils.ToastUtils;

import org.json.JSONException;
import org.json.JSONObject;

import java.util.HashMap;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;

/**
 * Created by syd on 2016/8/26.
 */
public class EnrollVIPActivity extends BaseActivity {



    String linkId = "";


    @BindView(R.id.tv_enrollvip_name)
    TextView tv_enrollvip_name;
    @BindView(R.id.tv_enrollvip_phone_number)
    TextView tv_enrollvip_phone_number;
    @BindView(R.id.tv_enrollvip_identification_number)
    TextView tv_enrollvip_identification_number;
    @BindView(R.id.et_enrollvip_address)
    EditText et_enrollvip_address;
    @BindView(R.id.et_enrollvip_email)
    EditText et_enrollvip_email;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_enrollvip);
        ButterKnife.bind(this);
        initTitle("报名信息");
        initView();

    }

    private void initView() {
        tv_enrollvip_name.setText(SharedPreferencesUtils.getString(SharedPreferencesUtils.getString(ConstantsUser.phone) + ConstantsUser.SHOPACCOUNT));
        tv_enrollvip_identification_number.setText(StringUtils.handelIDNO(SharedPreferencesUtils.getString(SharedPreferencesUtils.getString(ConstantsUser.phone) + ConstantsUser.SHOPCERT)));
        tv_enrollvip_phone_number.setText(StringUtils.handelPhone(SharedPreferencesUtils.getString(ConstantsUser.phone)));
    }




    @OnClick(R.id.btn_enrollvip_submit)
    public void clickEvent(View view) {

        if (checkPass()) {
            registerVIP();
        }


    }

    /**
     * 验证输入条件
     * @return
     */
    private boolean checkPass() {

        if (TextUtils.isEmpty(et_enrollvip_address.getText().toString())) {
            ToastUtils.showToast("请输入正确的收货地址！");
            return false;
        }
        if ((TextUtils.isEmpty(et_enrollvip_email.getText().toString())) || ( et_enrollvip_email.getText().toString().indexOf("@") == -1)  || ( et_enrollvip_email.getText().toString().indexOf("@") == -1) ) {
            ToastUtils.showToast("请输入正确的邮箱格式！");
            return false;
        }
        return true;
    }


    /**
     * 提交注册申请
     */
    private void registerVIP() {

        progressDialogUtils.showProgress();

        String email = et_enrollvip_email.getText().toString().trim();
        String address = et_enrollvip_address.getText().toString().trim();

        //构造传输参数
        String token = SharedPreferencesUtils.getString(ConstantsUser.userToken);
        //MD5（picNbr+key）
        String sign = Md5Utils.md5Hex(address + email + SharedPreferencesUtils.getString(ConstantsUser.userKey));



        //将参数放入map中
        HashMap<String, String> map = new HashMap<String,String>();

        map.put("token",token);
        map.put("sign",sign);
        map.put("email",email);
        map.put("address",address);

        //向服务器发送请求
        HttpUtils.HttpRequestByVollery(HttpUrls.URL, HttpActions.shopVipInfoSubmitState, map, mQueue, new HttpCallbackListener() {
            @Override
            public void onFinish(String response) {

                progressDialogUtils.dismissProgress();

                try {
                    JSONObject jsonObject = new JSONObject(response);
                    String code = jsonObject.optString("code");
                    if (Constants.NORMAL_CODE.equals(code)) {

//                        ConstantsPay.orderType = ConstantsPay.ORDERTYPET1;
//                        createOrder();
                        startActivity(PaymentActivity.class);


                    } else {

                        AlertDialogUtils.showAlertDialog(mContext, jsonObject.optString("msg"));

                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                    AlertDialogUtils.showAlertDialog(mContext, getResources().getString(R.string.json_parse_error));
                }
            }

            @Override
            public void onError(VolleyError volleyError) {

                progressDialogUtils.dismissProgress();
                AlertDialogUtils.showAlertDialog(mContext, getResources().getString(R.string.fail_to_connect_server));
            }
        });

    }











//
//    /**
//     *生成订单
//     */
//    private void createOrder() {
//
//
//        progressDialogUtils.showProgress();
//
//        //构造传输参数
//
//        final String orderType = ConstantsPay.ORDERTYPET1;
//        final String payType = ConstantsPay.PAYTYPE1;
//        final String amount = ConstantsPay.photoGraphyFee;
//        String version = DeviceUtils.getVersionName();
//        String goodsId = ConstantsPay.GOODSID6666;
//        String token = SharedPreferencesUtils.getString(ConstantsUser.userToken);
//        //
//        String sign = Md5Utils.md5Hex(amount + goodsId + linkId + orderType + payType + version + SharedPreferencesUtils.getString(ConstantsUser.userKey));
//
//        //将参数放入map中
//        final HashMap<String, String> map = new HashMap<String,String>();
//        map.put("linkId",linkId);
//        map.put("orderType",orderType);
//        map.put("payType",payType);
//        map.put("amount",amount);
//        map.put("version",version);
//        map.put("goodsId",goodsId);
//        map.put("token",token);
//        map.put("sign",sign);
//
//        //向服务器发送请求
//        HttpUtils.HttpRequestByVollery(HttpUrls.URL, HttpActions.nocardOrderCreateState, map, mQueue, new HttpCallbackListener() {
//            @Override
//            public void onFinish(String response) {
//
//                progressDialogUtils.dismissProgress();
//
//                try {
//                    JSONObject jsonObject = new JSONObject(response);
//                    String code = jsonObject.optString("code");
//                    if (Constants.NORMAL_CODE.equals(code)) {
//
//                        ConstantsPay.amount = amount;
//                        ConstantsPay.orderType = orderType;
//                        ConstantsPay.orderNo = jsonObject.optString("orderNo");
//                        ConstantsPay.orderTime = jsonObject.optString("orderTime");
//
//                        if (jsonObject.optJSONArray("bindCards") != null && jsonObject.optJSONArray("bindCards").length() > 0) {
//
//                            ConstantsPay.bindCards = new Gson().fromJson(jsonObject.optJSONArray("bindCards").toString(),new TypeToken<List<BankCard>>(){}.getType());
//                        }
//                            startActivity(NocardOrderConfirmActivity.class);
//
//                    } else if (Constants.ERR504_CODE.equals(code)) {
//
//
//                        AlertDialogUtils.showAlertDialog(mContext, jsonObject.optString("msg"), "取消", "去认证", new AlertInterface() {
//                            @Override
//                            public void confirm(Dialog alertDialog) {
//                                getShopInfo();
//
//                            }
//                        });
//
//
//                    } else if (Constants.ERR528_CODE.equals(code)) {
//
//
//                        AlertDialogUtils.showAlertDialog(mContext, jsonObject.optString("msg"), "取消", jsonObject.optString("buttonName"), new AlertInterface() {
//                            @Override
//                            public void confirm(Dialog alertDialog) {
//                                activationAccount();
//
//                            }
//                        });
//
//
//                    } else {
//
//                        AlertDialogUtils.showAlertDialog(mContext, jsonObject.optString("msg"));
//
//                    }
//                } catch (JSONException e) {
//                    e.printStackTrace();
//                    AlertDialogUtils.showAlertDialog(mContext, getResources().getString(R.string.json_parse_error));
//                }
//            }
//
//            @Override
//            public void onError(VolleyError volleyError) {
//
//                progressDialogUtils.dismissProgress();
//                AlertDialogUtils.showAlertDialog(mContext, getResources().getString(R.string.fail_to_connect_server));
//            }
//        });
//
//    }
//
//
//    @Override
//    protected void onResume() {
//        super.onResume();
//
//        linkId = String.valueOf(new Date().getTime());
//
//    }
//
//
//
//
//
//
//    /**
//     * 商户信息查询
//     * @return
//     */
//    public void getShopInfo() {
//
//
//        progressDialogUtils.showProgress();
//
//        //构造传输参数
//        String token = SharedPreferencesUtils.getString(ConstantsUser.userToken);
//        //MD5（picNbr+key）
//        String sign = Md5Utils.md5Hex(SharedPreferencesUtils.getString(ConstantsUser.userKey));
//
//        //将参数放入map中
//        HashMap<String, String> map = new HashMap<String,String>();
//        map.put("token",token);
//        map.put("sign",sign);
//
//        //向服务器发送请求
//        HttpUtils.HttpRequestByVollery(HttpUrls.URL, HttpActions.shopInfoState, map, mQueue, new HttpCallbackListener() {
//            @Override
//            public void onFinish(String response) {
//
//                progressDialogUtils.dismissProgress();
//
//                try {
//                    JSONObject jsonObject = new JSONObject(response);
//                    String code = jsonObject.optString("code");
//                    if (Constants.NORMAL_CODE.equals(code)) {
//
//                        ConstantsUser.isEdit = jsonObject.optString("isEdit");
//                        ConstantsUser.shopStatus = jsonObject.optString("shopStatus");
//                        ConstantsUser.shopStatusCn  = jsonObject.optString("shopStatusCn");
//                        ConstantsUser.selfStatus  = jsonObject.optString("selfStatus");
//                        if (!TextUtils.isEmpty(jsonObject.optString("shopCert"))) {
//                            SharedPreferencesUtils.putString(SharedPreferencesUtils.getString(ConstantsUser.phone) + ConstantsUser.SHOPCERT,jsonObject.optString("shopCert"));
//                        }
//                        if (!TextUtils.isEmpty(jsonObject.optString("shopAccount"))) {
//                            SharedPreferencesUtils.putString(SharedPreferencesUtils.getString(ConstantsUser.phone) + ConstantsUser.SHOPACCOUNT,jsonObject.optString("shopAccount"));
//                        }
//
//                        if (!TextUtils.isEmpty(jsonObject.optString("shopBank"))) {
//                            SharedPreferencesUtils.putString(SharedPreferencesUtils.getString(ConstantsUser.phone) + ConstantsUser.SHOPBANK,jsonObject.optString("shopBank"));
//                        }
//
//                        if (!TextUtils.isEmpty(jsonObject.optString("pic1"))) {
//                            SharedPreferencesUtils.putString(SharedPreferencesUtils.getString(ConstantsUser.phone) + ConstantsUser.PIC1,jsonObject.optString("pic1"));
//                        }
//
//                        if (!TextUtils.isEmpty(jsonObject.optString("pic2"))) {
//                            SharedPreferencesUtils.putString(SharedPreferencesUtils.getString(ConstantsUser.phone) + ConstantsUser.PIC2,jsonObject.optString("pic2"));
//                        }
//
//                        if (!TextUtils.isEmpty(jsonObject.optString("pic3"))) {
//                            SharedPreferencesUtils.putString(SharedPreferencesUtils.getString(ConstantsUser.phone) + ConstantsUser.PIC3,jsonObject.optString("pic3"));
//                        }
//
//                        if (!TextUtils.isEmpty(jsonObject.optString("pic4"))) {
//                            SharedPreferencesUtils.putString(SharedPreferencesUtils.getString(ConstantsUser.phone) + ConstantsUser.PIC4,jsonObject.optString("pic4"));
//                        }
//
//                        ConstantsUser.picQr = jsonObject.optString("picQr");
//                        ConstantsUser.showMsg = jsonObject.optString("showMsg");
//                        ConstantsUser.orgId = jsonObject.optString("orgId");
//                        ConstantsUser.activationStatus = jsonObject.optString("activationStatus");
//                        startActivity(BasicalInfoActivity.class);
//
//                    } else {
//
//                        AlertDialogUtils.showAlertDialog(mContext, jsonObject.optString("msg"));
//
//                    }
//                } catch (JSONException e) {
//                    e.printStackTrace();
//                    AlertDialogUtils.showAlertDialog(mContext, getResources().getString(R.string.json_parse_error));
//                }
//            }
//
//            @Override
//            public void onError(VolleyError volleyError) {
//
//                progressDialogUtils.dismissProgress();
//                AlertDialogUtils.showAlertDialog(mContext, getResources().getString(R.string.fail_to_connect_server));
//            }
//        });
//
//    }
//
//
//
//
//
//    /**
//     *账号激活
//     */
//    private void activationAccount (){
//
//
//        progressDialogUtils.showProgress();
//
//        //构造传输参数
//
//        String token = SharedPreferencesUtils.getString(ConstantsUser.userToken);
//        //
//        String sign = Md5Utils.md5Hex(linkId + SharedPreferencesUtils.getString(ConstantsUser.userKey));
//
//        //将参数放入map中
//        HashMap<String, String> map = new HashMap<String,String>();
//        map.put("linkId",linkId);
//        map.put("token",token);
//        map.put("sign",sign);
//
//        //向服务器发送请求
//        HttpUtils.HttpRequestByVollery(HttpUrls.URL, HttpActions.shopActivationSmsState, map, mQueue, new HttpCallbackListener() {
//            @Override
//            public void onFinish(String response) {
//
//                progressDialogUtils.dismissProgress();
//
//                try {
//                    JSONObject jsonObject = new JSONObject(response);
//                    String code = jsonObject.optString("code");
//                    if (Constants.NORMAL_CODE.equals(code)) {
//
//                        ConstantsPay.amount = "1";
//                        ConstantsPay.orderType = ConstantsPay.ORDERTYPET1;
//                        ConstantsPay.orderNo = jsonObject.optString("orderNo");
//                        ConstantsPay.bankNo = jsonObject.optString("bankNo");
//                        ConstantsPay.cardPhone = jsonObject.optString("cardPhone");
//                        ConstantsPay.shopCert = jsonObject.optString("shopCert");
//                        ConstantsPay.shopAccount = jsonObject.optString("shopAccount");
//                        Intent intent = new Intent(mContext,AddBankcardActivity.class);
//                        intent.putExtra("fromPersionalInfo","fromPersionalInfo");
//                        startActivity(intent);
//
//                    } else if (Constants.ERR504_CODE.equals(code)) {
//
//
//                        AlertDialogUtils.showAlertDialog(mContext, jsonObject.optString("msg"), "取消", "去认证", new AlertInterface() {
//                            @Override
//                            public void confirm(Dialog alertDialog) {
//                                startActivity(BasicalInfoActivity.class);
//                            }
//                        });
//
//
//                    } else {
//
//                        AlertDialogUtils.showAlertDialog(mContext, jsonObject.optString("msg"));
//
//                    }
//                } catch (JSONException e) {
//                    e.printStackTrace();
//                    AlertDialogUtils.showAlertDialog(mContext, getResources().getString(R.string.json_parse_error));
//                }
//            }
//
//            @Override
//            public void onError(VolleyError volleyError) {
//
//                progressDialogUtils.dismissProgress();
//                AlertDialogUtils.showAlertDialog(mContext, getResources().getString(R.string.fail_to_connect_server));
//            }
//        });
//
//    }
//
//
//
//


}
